package com.ruoyi.mp.service;

import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.db.domain.system.MpClientRaiseRecord;
import com.ruoyi.db.domain.system.PcRaise;

import java.math.BigDecimal;
import java.util.List;


/**
 * 众筹活动Service接口
 * 
 * @author ruoyi
 * @date 2022-08-03
 */
public interface IPcRaiseService 
{
    /**
     * 查询众筹活动
     * 
     * @param id 众筹活动主键
     * @return 众筹活动
     */
    public PcRaise selectPcRaiseById(Long id);

    /**
     * 查询众筹活动列表
     * 
     * @param pcRaise 众筹活动
     * @return 众筹活动集合
     */
    public List<PcRaise> selectPcRaiseList(PcRaise pcRaise);

    /**
     * 新增众筹活动
     * 
     * @param pcRaise 众筹活动
     * @return 结果
     */
    public int insertPcRaise(PcRaise pcRaise);

    /**
     * 修改众筹活动
     * 
     * @param pcRaise 众筹活动
     * @return 结果
     */
    public int updatePcRaise(PcRaise pcRaise);

    /**
     * 批量删除众筹活动
     * 
     * @param ids 需要删除的众筹活动主键集合
     * @return 结果
     */
    public int deletePcRaiseByIds(Long[] ids);

    /**
     * 删除众筹活动信息
     * 
     * @param id 众筹活动主键
     * @return 结果
     */
    public int deletePcRaiseById(Long id);
    /**
     * 活动结束时间结算收益亏损
     *
     */
    public void settleByOverTime();
    public void settleSucByOverTime();

    /**
     * 获取最新的未结算的活动
     */
    public PcRaise getNewOne();

    public void  countEarns(List<MpClientRaiseRecord> raiseRecords);
    public BigDecimal getShare(PcRaise pcRaise);
}
